/*
 * Copyright (c) 2024. hallele, Inc All rights reserved.
 */

package cn.hallele.ms.usercenter.domain.action.dept;

import cn.hallele.infrastructure.metadata.io.Page;
import cn.hallele.mc.sdk.usercenter.common.enums.DeptStatusEnum;
import cn.hallele.ms.usercenter.domain.das.DeptDEDas;
import cn.hallele.ms.usercenter.domain.domain.DeptDomain;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * hallele_ms_usercenter
 *
 * @author anle5
 * @since 2024/11/12 23:17
 */
@Slf4j
@Service
public class DeptDomainService {
    @Autowired
    private DeptDEDas deptDEDas;

    /**
     * 分页查询所有部门名
     *
     * @param pageNum   页码
     * @param pageSize  每页数量
     * @param condition 查询条件
     * @return 分页结果
     */
    public Page<DeptDomain> findAll(int pageNum, int pageSize, DeptDomain condition) {
        return deptDEDas.findAll(pageNum, pageSize, condition);
    }

    /**
     * 查询单个部门信息
     *
     * @param condition 查询条件
     * @return 部门信息
     */
    public DeptDomain findOne(DeptDomain condition) {
        return deptDEDas.findOne(condition);
    }

    /**
     * 新增 部门
     *
     * @param deptDomain 部门
     */
    public void addOne(DeptDomain deptDomain) {
        deptDEDas.addOne(deptDomain);
    }

    /**
     * 更新 部门
     *
     * @param deptDomain 部门
     */
    public void updateOne(DeptDomain deptDomain) {
        deptDEDas.updateOne(deptDomain);
    }

    /**
     * 删除 部门
     *
     * @param id 要删除的dept id
     */
    public void delete(Integer id) {
        deptDEDas.delete(id);
    }

    /**
     * 更新 部门 状态
     *
     * @param id         主键
     * @param deptStatus 状态
     */
    public void updateDeptStatus(Integer id, DeptStatusEnum deptStatus) {
        deptDEDas.updateDeptStatus(id, deptStatus);
    }
}
